import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.math.BigInteger;
import java.util.StringTokenizer;

import static java.lang.Math.*;

public class TaskC extends Thread {
    public TaskC() {
        this.setPriority(Thread.MAX_PRIORITY);
    }

    public void run() {
        try {
            in = new BufferedReader(new InputStreamReader(System.in));
            out = new PrintWriter(System.out);
            StringTokenizer tokens = new StringTokenizer(in.readLine(), " ");
            int n = Integer.parseInt(tokens.nextToken()),
                    m = Integer.parseInt(tokens.nextToken()),
                    k = Integer.parseInt(tokens.nextToken());
            int firstDiv = Integer.MAX_VALUE;
            if (BigInteger.valueOf(m).isProbablePrime(20)){
                firstDiv = m;
            }
            else{
                for (int i = 2; i * i <= m; ++i){
                    if (m % i == 0){
                        firstDiv = i;
                        break;
                    }
                }
            }
            if (m / k < firstDiv || firstDiv == m && k != 1){
                out.println("Marsel");
            }
            else{
                if ((n & 1) == 1){
                    out.println("Timur");
                }
                else{
                    out.println("Marsel");
                }
            }
            out.flush();
            out.close();
        } catch (Throwable e) {
            System.err.println("Exception from runtime....");
            handleException(e);
        }
    }


    public static void main(String[] args) {
        try {
            new TaskC().start();
        } catch (Throwable e) {
            handleException(e);
        }
    }

    private static void handleException(Throwable e) {
        System.err.println(e.getMessage());
        System.err.println(e.getStackTrace());
    }

    private BufferedReader in;
    private PrintWriter out;
}